package com.commute.planner;

import java.util.Date;

import com.commute.data.Route;
import com.commute.data.Stop;
import com.commute.data.StopTime;
import com.commute.data.Trip;

/*Data class that we use in order to calculate the RecommendedCommutes and to use in order to send the information to back to the android frontend*/

public class RecommendedCommute {
	public Trip currentTrip;
	public Trip firstTrip;
	
	public StopTime stopTimeEnd;
	public StopTime stopTimeStart;
	public StopTime stopTimeTransferEnd;
	public StopTime stopTimeTransferStart;
	
	public Stop bestEnd;
	public Route routeEnd;
	public Date endTime;
	
	public Stop bestStart;
	public Route routeStart;
	public Date startTime; 
	
	public boolean transfer=false;
	
	
	public Date transferStartTime;
	public Date transferEndTime;
	
	public RecommendedCommute(){
		
	}
	
	public void setTripEnd(Route route, Stop stop){
		this.bestEnd=stop;
		this.routeEnd=route;
	}
	
	public void setTripStart(Route route, Stop stop){
		this.bestStart=stop;
		this.routeStart=route;
	}
	
	public void setTranfer(){
		transfer=true;
	}
	
	public void setTrip(Trip trip){
		this.currentTrip=trip;
	}
	
	public void setStopTimeEnd(StopTime stopTimeEnd){
		this.stopTimeEnd = stopTimeEnd;
	}
	
	public void setEndTime(Date endTime){
		this.endTime=endTime;
	}
	
	public void setStartTime(Date startTime){
		this.startTime=startTime;
	}
	
	public void setTransferStartTime(Date transferStartTime){
		this.transferStartTime=transferStartTime;
	}
	
	public void setTransferEndTime(Date transferEndTime){
		this.transferEndTime=transferEndTime;
	}
	
	
	public Stop getBestEnd(){
		return this.bestEnd;
	}
	
	public Route getRouteEnd(){
		return this.routeEnd;
	}
	
	public Stop getBestStart(){
		return this.bestStart;
	}
	
	public Route getRouteStart(){
		return this.routeStart;
	}
	
	public boolean isTransfer(){
		return transfer;
	}
	
	public Date getStartTime(){
		return this.startTime;
	}
	
	public Date getEndTime(){
		return this.endTime;
	}
	
	public Date getTransferEndTime(){
		return this.transferEndTime;
	}
	
	public Date getTransferStartTime(){
		return this.transferStartTime;
	}
	
	public Trip getTrip(){
		return this.currentTrip;
	}
	
	public StopTime getStopTimeEnd(){
		return this.stopTimeEnd;
	}
	
	
	
}
